Análise dos criptoativos desde 29/04/2013 até 27/02/2021
Se você acompanha o mercado financeiro, já deve ter lido ou escutado sobre a ascensão da criptomoeda. O bitcoin, por exemplo, superou os R$152.700 diante da valorização do dólar em 2020. A informação é da empresa Economatica.
Mas você sabe como é possível tirar proveito desse recurso monetário? Antes de mais nada, é preciso entender o que é criptomoeda. Ela é um moeda digital que promete ganhos superiores ao do Mercado Bovespa e sem regulação do Estado.
A criptomoeda, no entanto, vai muito além uma dinheiro virtual. Da mesma forma que a moeda física tem números de série, marca d’água e outros dispositivos de segurança, a criptomoeda utiliza criptografia.
A criptomoeda é um código virtual que pode ser convertido em valores reais. Geralmente, é necessário comprar do emissor ou de alguém que já tenha a moeda.
Sua negociação se dá pela internet, sem burocracias e intermediários, caracterizada pela ausência de um sistema monetário regulamentado e da submissão a uma autoridade financeira — por exemplo, o Banco Central do Brasil.
Visão geral do dataset
colnames(df) <- c("Ativo","Data","Maxima dia","Minima dia","Valor abertura","Valor fechamento","Volume","Valor de mercado")
df$Data <- df$Data %>% as.Date()
df %>% head(4) %>% knitr::kable()| Ativo | Data | Maxima dia | Minima dia | Valor abertura | Valor fechamento | Volume | Valor de mercado |
|---|---|---|---|---|---|---|---|
| AAVE | 2020-10-05 | 55.11236 | 49.78790 | 52.67504 | 53.21924 | 0.0 | 89128129 |
| AAVE | 2020-10-06 | 53.40227 | 40.73458 | 53.29197 | 42.40160 | 583091.5 | 71011441 |
| AAVE | 2020-10-07 | 42.40831 | 35.97069 | 42.39995 | 40.08398 | 682834.2 | 67130037 |
| AAVE | 2020-10-08 | 44.90251 | 36.69606 | 39.88526 | 43.76446 | 1658816.9 | 220265142 |
Verificando dados nulos
df %>% is.na() %>% colSums() %>% knitr::kable()| x | |
|---|---|
| Ativo | 0 |
| Data | 0 |
| Maxima dia | 0 |
| Minima dia | 0 |
| Valor abertura | 0 |
| Valor fechamento | 0 |
| Volume | 0 |
| Valor de mercado | 0 |
Verificando as 10 moedas com o maior valor de mercado dos ultimos 5 meses
df %>% filter( df$Data >= df$Data %>% max() - (dweeks(4)*5) ) %>% arrange(desc(`Valor de mercado`)) %>% group_by(Ativo) %>% summarise(`Valor de mercado`=mean(`Valor de mercado`)) %>% arrange(desc(`Valor de mercado`)) %>% head(10) %>% knitr::kable()| Ativo | Valor de mercado |
|---|---|
| BTC | 498703193818 |
| ETH | 101920233712 |
| USDT | 22021090857 |
| XRP | 17217373333 |
| DOT | 10052662449 |
| ADA | 9582611431 |
| BNB | 8530794247 |
| LTC | 7468238020 |
| LINK | 6737321067 |
| XLM | 4693404297 |
Verificando diferença da máxima histórica para a mínima histórica de cada moeda ordenadas pela porcentagem de aumento
df %>% group_by(Ativo) %>% summarise("Minima historica"=min(`Minima dia`), "Maxima historica"=max(`Maxima dia`), "Aumento"=str_c(round(((max(`Maxima dia`) - min(`Minima dia`)) / min(`Minima dia`))*100, 1),"%")) %>% arrange(desc(Aumento)) %>% head(10) %>% knitr::kable()| Ativo | Minima historica | Maxima historica | Aumento |
|---|---|---|---|
| DOGE | 0.0000855 | 0.0849451 | 99280.7% |
| BTC | 65.5260010 | 58330.5721419 | 88919% |
| ADA | 0.0176200 | 1.4766529 | 8280.6% |
| XLM | 0.0012271 | 0.9381440 | 76352.1% |
| MIOTA | 0.0796197 | 5.6900201 | 7046.5% |
| ETH | 0.4208970 | 2036.2864933 | 483696.9% |
| EOS | 0.4801960 | 22.8903999 | 4666.9% |
| BNB | 0.0961094 | 342.8795928 | 356659.7% |
| SOL | 0.5051936 | 18.1466217 | 3492% |
| LTC | 1.1137400 | 375.2860107 | 33596% |
Notamos que todas as moedas tiveram um aumento considerável no decorrer do tempo
Verificando o valor de abertura e fechamento no dia da máxima histórica
lista <- list()
for(i in ativos <- df$Ativo %>% unique()){
lista <- append(lista, list(df %>% filter(Ativo==i) %>% filter(`Maxima dia`==`Maxima dia` %>% max) %>% select(Ativo, `Valor abertura`, `Valor fechamento`, `Maxima dia`, Data)))
}
AberturaFechamento <- lista[[1]]
for(i in 2:23){
AberturaFechamento[nrow(AberturaFechamento)+1,] <- slice(lista[[i]],1)
}
AberturaFechamento %>% arrange(desc(Data)) %>% knitr::kable()| Ativo | Valor abertura | Valor fechamento | Maxima dia | Data |
|---|---|---|---|---|
| ADA | 1.2421453 | 1.3248603 | 1.4766529 | 2021-02-27 |
| SOL | 15.2138421 | 17.3027071 | 18.1466217 | 2021-02-24 |
| CRO | 0.1406185 | 0.2202608 | 0.2709597 | 2021-02-22 |
| BTC | 56068.5682455 | 57539.9436679 | 58330.5721419 | 2021-02-21 |
| WBTC | 55885.9099880 | 57557.9728298 | 58175.0136131 | 2021-02-21 |
| LINK | 34.7112802 | 34.1098167 | 36.8284600 | 2021-02-20 |
| ETH | 1959.9029771 | 1919.5340028 | 2036.2864933 | 2021-02-20 |
| DOT | 34.7971135 | 39.2421773 | 42.0630504 | 2021-02-20 |
| UNI | 20.0726441 | 29.1403850 | 32.6326829 | 2021-02-20 |
| BNB | 195.9878561 | 332.6160326 | 342.8795928 | 2021-02-19 |
| ATOM | 22.4332548 | 25.1867110 | 26.4193846 | 2021-02-16 |
| AAVE | 487.6995549 | 517.9682568 | 559.1229443 | 2021-02-10 |
| DOGE | 0.0783524 | 0.0788251 | 0.0849451 | 2021-02-08 |
| USDC | 1.0169000 | 1.0268000 | 1.1137300 | 2018-10-15 |
| EOS | 18.8773994 | 21.5426006 | 22.8903999 | 2018-04-29 |
| XMR | 456.1510010 | 459.3309937 | 495.8359985 | 2018-01-07 |
| TRX | 0.2095790 | 0.2205550 | 0.3003630 | 2018-01-05 |
| XEM | 1.8355800 | 1.6448100 | 2.0918801 | 2018-01-04 |
| XLM | 0.8923990 | 0.7240500 | 0.9381440 | 2018-01-04 |
| XRP | 3.1173401 | 3.1966300 | 3.8419399 | 2018-01-04 |
| MIOTA | 4.2439899 | 5.3663301 | 5.6900201 | 2017-12-19 |
| LTC | 359.1250000 | 350.2529907 | 375.2860107 | 2017-12-19 |
| USDT | 1.2104200 | 1.2057400 | 1.2123200 | 2015-02-26 |
Podemos ver que nenhum ativo se manteve com o valor da máxima em seu fechamento
Verificando o valor de abertura e fechamento no dia da mínima histórica
lista2 <- list()
for(i in ativos <- df$Ativo %>% unique()){
lista2 <- append(lista2, list(df %>% filter(Ativo==i) %>% filter(`Minima dia`==`Minima dia` %>% max) %>% select(Ativo, `Valor abertura`, `Valor fechamento`, `Minima dia`, Data)))
}
AberturaFechamentoMin <- lista2[[1]]
for(i in 2:23){
AberturaFechamentoMin[nrow(AberturaFechamentoMin)+1,] <- slice(lista2[[i]],1)
}
AberturaFechamentoMin %>% filter(`Minima dia` < `Valor fechamento`) %>% arrange(desc(Data)) %>% knitr::kable()| Ativo | Valor abertura | Valor fechamento | Minima dia | Data |
|---|---|---|---|---|
| ADA | 1.2421453 | 1.3248603 | 1.2341376 | 2021-02-27 |
| SOL | 15.2138421 | 17.3027071 | 14.8617995 | 2021-02-24 |
| BNB | 254.5392796 | 293.9235915 | 250.5408103 | 2021-02-21 |
| BTC | 56068.5682455 | 57539.9436679 | 55672.6095133 | 2021-02-21 |
| LINK | 34.0732073 | 34.1527420 | 33.4279887 | 2021-02-21 |
| DOT | 39.1712011 | 39.6962287 | 38.1545457 | 2021-02-21 |
| UNI | 28.9105509 | 28.8297155 | 28.0216454 | 2021-02-21 |
| WBTC | 55885.9099880 | 57557.9728298 | 55687.7828848 | 2021-02-21 |
| ETH | 1938.8598809 | 1960.1647435 | 1896.6845077 | 2021-02-19 |
| ATOM | 23.8658638 | 23.1378225 | 22.8366576 | 2021-02-18 |
| AAVE | 516.3264023 | 518.0725401 | 504.7816601 | 2021-02-11 |
| DOGE | 0.0701105 | 0.0728963 | 0.0685254 | 2021-02-10 |
| CRO | 0.1784397 | 0.1798386 | 0.1770833 | 2020-09-01 |
| USDC | 1.0282100 | 1.0264339 | 1.0230579 | 2020-02-03 |
| EOS | 18.8773994 | 21.5426006 | 18.8773994 | 2018-04-29 |
| XMR | 456.1510010 | 459.3309937 | 453.3909912 | 2018-01-07 |
| XEM | 1.6554199 | 1.8427200 | 1.6260200 | 2018-01-07 |
| TRX | 0.2095790 | 0.2205550 | 0.1767120 | 2018-01-05 |
| XLM | 0.8923990 | 0.7240500 | 0.6774960 | 2018-01-04 |
| XRP | 3.1173401 | 3.1966300 | 3.1173401 | 2018-01-04 |
| MIOTA | 5.0803199 | 5.0298800 | 4.8613601 | 2017-12-21 |
| LTC | 359.1250000 | 350.2529907 | 335.6749878 | 2017-12-19 |
| USDT | 1.2104200 | 1.2057400 | 1.1947100 | 2015-02-26 |
Visualizando o quanto o valor de mercado influencia no preço dos ativos
dfFiltrado <- df%>%filter(`Valor de mercado` > 0 & `Valor fechamento` > 0)
plot_ly(data=dfFiltrado, x=~`Valor fechamento`, y=~`Valor de mercado`, type = "scatter", marker=list(color="brown"))Como podemos ver, o valor de mercado(Marketcap) tem total influência no preço das criptos
Visualizando o quanto que o valor de mercado subiu no decorrer do tempo das 5 moedas com maior media de valor de mercado
marketcapAtivos <- df %>% group_by(Ativo) %>% summarise(media=mean(`Valor de mercado`)) %>% arrange(desc(media)) %>% head(5) %>% select(Ativo)
dfMkt <- df %>% filter(Ativo==marketcapAtivos$Ativo)
plot_ly(data=dfMkt, x=~Data, y=~`Valor de mercado`, color = ~Ativo, colors = "Set1", mode = "lines")Como podemos ver, a dominância do bitcoin é absurda
Visualizando quem tem o maior valor de mercado atualmente
dfMktAgrupado <- dfMkt %>% group_by(Ativo) %>% summarise("Valor de mercado"=sum(`Valor de mercado`))
plot_ly(data=dfMktAgrupado, x=~Ativo, y=~`Valor de mercado`, color = ~Ativo, type = "bar", colors = "Dark2") %>% layout(title="27/02/21")Focando o Bitcoin
Criada uma variável que calcula a oscilação diaria do bitcoin desde 2013 até 2021 para posteriores análises
df2 <- df %>% filter(Ativo=="BTC") %>% select(Ativo, Data, `Valor abertura`, `Valor fechamento`)
df2$"Oscilacao em %" <- round(((df2$`Valor fechamento` - df2$`Valor abertura`)/ df2$`Valor abertura`)*100,1)
PN <- function(vetor){
if(vetor >= 0){
return("Positivo")
}else if(vetor < 0){
return("Negativo")
}
}
df2$Positivo_Negativo <- unlist(sapply(df2$`Oscilacao em %`, PN))
df2[,-6] %>% head(5) %>% knitr::kable()| Ativo | Data | Valor abertura | Valor fechamento | Oscilacao em % |
|---|---|---|---|---|
| BTC | 2013-04-29 | 134.444 | 144.54 | 7.5 |
| BTC | 2013-04-30 | 144.000 | 139.00 | -3.5 |
| BTC | 2013-05-01 | 139.000 | 116.99 | -15.8 |
| BTC | 2013-05-02 | 116.380 | 105.21 | -9.6 |
| BTC | 2013-05-03 | 106.250 | 97.75 | -8.0 |
Visualizando as oscilações do bitcoin
plot_ly(data=df2, x=~Data, y=~`Oscilacao em %`, color=~Positivo_Negativo, mode="lines", colors = "Set1")Bitcoin tem mostrado ser uma moeda pouco volátil se comparado as outras, com oscilações diárias estáveis com poucas exceções como no inicio de 2020 que chegou a desvalorizar quase 40%